package com.cw.jeeyt.service.intf.process;

import java.util.List;

import com.cw.jeeyt.common.Order;
import com.cw.jeeyt.service.bo.process.ActReProcdefBo;
import com.cw.lang.mybatis.dto.PageInfo;

/**
 * 流程定义业务接口
 *
 * @author chenw
 * @date 2019-03-13 22:15:39
 */
public interface ActReProcdefService {
    /**
     * 查询所有流程定义列表信息
     */
    List<ActReProcdefBo> queryActReProcdefList() throws Exception;

    /**
     * 删除流程定义
     *
     * @param actReProcdefBo
     */
    void delete(ActReProcdefBo actReProcdefBo) throws Exception;

    /**
     * 更新流程定义
     *
     * @param actReProcdefBo
     */
    void update(ActReProcdefBo actReProcdefBo) throws Exception;

    /**
     * 更新流程定义不为空的字段
     *
     * @param actReProcdefBo
     */
    void updateSelective(ActReProcdefBo actReProcdefBo) throws Exception;

    /**
     * 根据主键查询流程定义
     *
     * @return
     */
    ActReProcdefBo getActReProcdefById(String id_) throws Exception;

    /**
     * 新增流程定义
     *
     * @param actReProcdefBo
     * @return
     */
    Integer insert(ActReProcdefBo actReProcdefBo) throws Exception;

    /**
     * 新增流程定义不为空的字段
     *
     * @param actReProcdefBo
     * @return
     */
    Integer insertSelective(ActReProcdefBo actReProcdefBo) throws Exception;

    /**
     * 分页查询流程定义
     *
     * @param actReProcdefBo
     * @param startNum
     * @param pageSize
     * @return
     * @throws Exception
     */
    PageInfo<ActReProcdefBo> queryByPage(ActReProcdefBo actReProcdefBo, Integer startNum, Integer pageSize, Order order)
    throws Exception;
}
